update linksの限界
from 2024/07/21 bsahd.icon
update linksであったけど、1万ページから1つのページにリンクして、1つのページでupdate linksしたらどうなるんだろう
☑JSONを自動生成する
☑importする
https://gyazo.com/d01451a82a163ea8c76e9aabbcd91282
https://gyazo.com/938019580e10b91f0401f7342d10221a
名前を変える(a->b)
https://gyazo.com/f039168a2fe4404385387789ee93f31d
1000ページしか表示されていない...(notフラグ)
⛔update linksする
https://gyazo.com/b8a17639558fca34fa71409a953f85f3訳:1分のタイムアウトに引っかかったよ
6725から置き換えられなかった(元の「a」へのリンクのまま)
結論:update linksは6725ページの置き換えが限度
回線が遅いからかな?
サーバーの処理速度の問題かな?
大きすぎるリンクの問題がもう一つ増えた?
☑projectを削除する
笑った基素.icon
マジかwはるひ.icon
逆に言えば、6000ページぐらいは置換できるということか suto3.icon
力技も悪くないか…
※ただし1分かかるbsahd.icon
mediawikiのように改名されたページに来たタイミングで転送するということもできる
Cosenseでは、外部リンクをこうして扱っている
さまざまなWikiでの改名時の処理
面白いことしてるtakker.icon
真似してみよ
code:js
const json = { pages: ...Array(10000).keys().map((i) => ({ title: ${i}, lines: [${i}, "a"], })) };
open(URL.createObjectURL(new Blob(JSON.stringify(json), { type: "text/json" })));
code:js
const req = new Request(
/api/pages/takker-test/replace/links,
{
method: "POST",
headers: {
"Content-Type": "application/json;charset=utf-8",
"X-CSRF-TOKEN": globalThis._csrf,
},
body: JSON.stringify({ from: "a", to: "b" }),
},
);
await fetch(req);
しばらくしてから503 Service Unavailableが返ってきた
Herokuにreportが飛んだっぽい
置換は10000 pages全て完了していた
おそらくUIでのupdate linksは1件づつ通信して置換してる?bsahd.icon
#壊したい